home *** CD-ROM | disk | FTP | other *** search
- package com.ms.directX;
-
- import com.ms.com.IUnknown;
- import java.awt.Color;
-
- public class ddPalette implements IddPalette {
- public PaletteEntry[] GetPaletteEntries(int var1, int var2, int var3) {
- byte[] var4 = new byte[var3 * 4];
- this.GetEntries(var1, var2, var3, var4);
- PaletteEntry[] var5 = new PaletteEntry[var3];
- var1 &= 2;
- int var6 = 0;
-
- for(int var7 = 0; var7 < var3; ++var7) {
- var5[var7] = new PaletteEntry(var4, var6, var1);
- var6 += var1 == 0 ? 4 : 8;
- }
-
- return var5;
- }
-
- public native void InternalSetObject(IUnknown var1);
-
- public native IUnknown InternalGetObject();
-
- public native void InternalAttachDD(dDraw var1);
-
- public native void GetEntries(int var1, int var2, int var3, byte[] var4);
-
- public native void Initialize(dDraw var1);
-
- public native void SetEntries(int var1, int var2, int var3, byte[] var4);
-
- byte[] convertFromColor(Color[] var1) {
- int var2 = var1.length;
- byte[] var3 = new byte[var2 * 4];
- int var4 = 0;
-
- for(int var5 = 0; var5 < var2; ++var5) {
- var3[var4++] = (byte)var1[var5].getRed();
- var3[var4++] = (byte)var1[var5].getGreen();
- var3[var4++] = (byte)var1[var5].getBlue();
- var3[var4++] = 0;
- }
-
- return var3;
- }
-
- public void SetEntries(int var1, int var2, int var3, Color[] var4) {
- byte[] var5 = this.convertFromColor(var4);
- this.SetEntries(var1, var2, var3, var5);
- }
-
- public Color[] GetColorEntries(int var1, int var2, int var3) {
- byte[] var4 = new byte[var3 * 4];
- this.GetEntries(var1, var2, var3, var4);
- Color[] var5 = new Color[var3];
- int var6 = 0;
-
- for(int var7 = 0; var7 < var3; ++var7) {
- var5[var7] = new Color(var4[var6], var4[var6 + 1], var4[var6 + 2]);
- var6 += 4;
- }
-
- return var5;
- }
-
- byte[] convertFromPalette(int var1, PaletteEntry[] var2) {
- int var3 = var2.length;
- int var4 = var3 * 4;
- if ((var1 & 2) != 0) {
- var4 *= 2;
- }
-
- byte[] var5 = new byte[var4];
- int var6 = 0;
- if ((var1 & 2) != 0) {
- for(int var8 = 0; var8 < var3; ++var8) {
- var5[var6++] = (byte)(var2[var8].peRed & 255);
- var5[var6++] = (byte)(var2[var8].peRed >> 8 & 255);
- var5[var6++] = (byte)(var2[var8].peGreen & 255);
- var5[var6++] = (byte)(var2[var8].peGreen >> 8 & 255);
- var5[var6++] = (byte)(var2[var8].peBlue & 255);
- var5[var6++] = (byte)(var2[var8].peBlue >> 8 & 255);
- var5[var6++] = (byte)(var2[var8].peFlags & 255);
- var5[var6++] = (byte)(var2[var8].peFlags >> 8 & 255);
- }
- } else {
- for(int var9 = 0; var9 < var3; ++var9) {
- var5[var6++] = (byte)(var2[var9].peRed & 255);
- var5[var6++] = (byte)(var2[var9].peGreen & 255);
- var5[var6++] = (byte)(var2[var9].peBlue & 255);
- var5[var6++] = (byte)(var2[var9].peFlags & 255);
- }
- }
-
- return var5;
- }
-
- public void SetEntries(int var1, int var2, int var3, PaletteEntry[] var4) {
- byte[] var5 = this.convertFromPalette(var1, var4);
- this.SetEntries(var1, var2, var3, var5);
- }
-
- public native int GetCaps();
- }
-